#ifndef QUERY_MANAGER_HH
#define QUERY_MANAGER_HH

#include <map>
#include <string>
#include <boost/function.hpp>

#include "NetworkSession.hh"
//#include "ProtocolQuery.hh"

class								QueryManager
{
private:
  std::map<NetworkSession::NetworkSessionPtr, std::string>	mSessionData;
  boost::function<void(NetworkSession &/*, ProtocolQuery &*/)>	mCallbackQuery;

  QueryManager(const QueryManager &);
  QueryManager &						operator=(const QueryManager &);

public:
  QueryManager();
  ~QueryManager();

  void								receiveData(NetworkSession::NetworkSessionPtr, void *, size_t);
  void								pushSession(NetworkSession::NetworkSessionPtr);
  void								popSession(NetworkSession::NetworkSessionPtr);
};

#endif //QUERY_MANAGER_HH
